﻿using System;
using ClickLand.CorporacionPlaza.Presentacion.CorporacionPlazaWS;
using System.Collections.Generic;

namespace ClickLand.CorporacionPlaza.Presentacion.Controladores
{
    public class ControladorAdministracionEstablecimiento
    {
        /// <summary> Metodo que invoca los servicios requeridos para agregar o modificar un establecimiento </summary>
        /// <param name="establecimiento">datos para la insercion</param>
        /// <returns>true si inserto false sino</returns>
        public bool AgregarModificarEstablecimiento(EstablecimientoDto establecimiento)
        {
            try
            {
                var servicio = new CorporacionPlazaWS.CorporacionPlazaWS();
                return servicio.AgregarEditarEstablecimiento(establecimiento);
            }
            catch (Exception e)
            {

                throw e;
            }
        }


        /// <summary> Metodo que invoca el servicio que consulta los establecimientos </summary>
        /// <param name="parametros"> </param>
        /// <returns>Lista de establecimientos</returns>
        public List<EstablecimientoDto> ConsultarEstablecimientos(EstablecimientoDto parametros)
        {
            try
            {
                var servicio = new CorporacionPlazaWS.CorporacionPlazaWS();
                return new List<EstablecimientoDto>(servicio.ConsultarTodosEstablecimientos(parametros));
            }
            catch (Exception e)
            {

                throw e;
            }
        }


        /// <summary> Metodo que obtiene una Lista de establecimientos libres para la fecha indicada </summary>
        /// <param name="fecha">fecha inicio del contrato</param>
        /// <returns></returns>
        public List<EstablecimientoDto> ConsultarEstablecimientosLibres(DateTime fecha,DateTime fin)
        {
            try
            {
                var servicio = new CorporacionPlazaWS.CorporacionPlazaWS();
                return new List<EstablecimientoDto>(servicio.ConsultarEstablecimientoLibres(fecha,fin));
            }
            catch (Exception e)
            {

                throw e;
            }
        }
    }
}
